package com.mmall.pojo.param;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import net.sf.oval.constraint.NotBlank;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * @author gg
 * @version AddProductParam.java, v 0.1 2019-04-25 10:19 gg
 */
@Data
@ApiModel(value="com.mmall.pojo.param.AddProductParam")
public class AddProductParam implements Serializable {

    /**
     * 分类id,对应mmall_category表的主键
     */
    @NotNull(message = "分类不能为空")
    @ApiModelProperty(value="分类id,对应mmall_category表的主键")
    private Long categoryId;

    /**
     * 品牌id，对应mmall_brand表的主键
     */
    @NotNull(message = "品牌不能为空")
    @ApiModelProperty(value = "品牌id，对应mmall_brand表的主键")
    private Long brandId;

    /**
     * 商品名称
     */
    @NotBlank(message = "商品名称不能为空")
    @ApiModelProperty(value="商品名称")
    private String name;

    /**
     * 商品副标题
     */
    @NotBlank(message = "商品副标题不能为空")
    @ApiModelProperty(value="商品副标题")
    private String subtitle;

    /**
     * 价格,单位-元保留两位小数
     */
    @NotNull(message = "商品价格不能为空")
    @ApiModelProperty(value="价格,单位-元保留两位小数")
    private BigDecimal price;

    /**
     * 库存数量
     */
    @NotNull(message = "库存数量不能为空")
    @Min(value = 0,message = "库存数量不能为负数")
    @ApiModelProperty(value="库存数量")
    private Integer stock;

    /**
     * 产品主图,url相对地址
     */
    @NotBlank(message = "产品主图不能为空")
    @ApiModelProperty(value="产品主图,url相对地址")
    private String mainImage;

    /**
     * 图片地址,json格式,扩展用
     */
    @NotBlank(message = "图片地址不能为空")
    @ApiModelProperty(value="图片地址,json格式,扩展用")
    private String subImages;

    /**
     * 商品详情
     */
    @NotBlank(message = "商品详情不能为空")
    @ApiModelProperty(value="商品详情")
    private String detail;

}